package com.sangeng.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.sangeng.domain.core.ResponseResult;
import com.sangeng.domain.dto.MenuListDto;
import com.sangeng.domain.entity.Menu;
import com.sangeng.domain.vo.RouterVo;

import java.util.List;

/**
 * 菜单权限表(Menu)表服务接口
 *
 * @author makejava
 * @since 2025-06-26 16:12:51
 */
public interface MenuService extends IService<Menu> {

    /**
     * 根据菜单列表构建菜单树
     * @param menus
     * @return
     */
    List<RouterVo> buildMenus(List<Menu> menus);

    ResponseResult listAllMenus(MenuListDto menuListDto);

    ResponseResult addMenu(Menu menu);

    ResponseResult getMenuById(Long id);

    ResponseResult removeMeunById(Long id);

    ResponseResult updateMenuById(Menu menu);

    ResponseResult treeselect();

    ResponseResult roleMenuTreeselect(Long id);
}

